package com.csair.common.router;

import android.content.Intent;

import com.csair.common.AppUtilsConfig;
import com.csair.common.objects.IntentRunnable;
import com.csair.common.router.annotations.ClassName;
import com.csair.common.router.annotations.DefaultBoolean;
import com.csair.common.router.annotations.IntentFlags;
import com.csair.common.router.annotations.Key;


/**
 * @author vaycent (vaycentsun@gmail.com)
 * @date 2018/6/7
 */

public class CommonRules {
    /**
     * 跳转到 App 新版首页页面
     */
    @ClassName(AppUtilsConfig.ACTIVITY_HOME_PATH)
    @IntentFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP)
    public interface IMainActivity {
        IntentWrapper to();
    }

    /***
     *  跳转到 App 登录页面
     */
    @ClassName(AppUtilsConfig.ACTIVITY_LOGIN_PATH)
    @IntentFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP)
    public interface ILoginActivity {
        /**
         * @param memberOnly      是否只允许会员登录，默认不限制
         * @param qqEnable        是否显示 QQ 登录，如果 memberOnly 为 true，则绑定页面不显示跳过绑定按钮
         * @param wxEnable        是否显示微信登录，如果 memberOnly 为 true，则绑定页面不显示跳过绑定按钮
         * @param showMemberPrice 是否显示会员直减提示，默认不显示
         * @param doAfterLogin    登录完成后要执行的操作
         */
        IntentWrapper to(@Key("MemberOnly") @DefaultBoolean(false) Boolean memberOnly,
                         @Key("QQEnable") @DefaultBoolean(true) Boolean qqEnable,
                         @Key("WXEnable") @DefaultBoolean(true) Boolean wxEnable,
                         @Key("ShowMemberPrice") @DefaultBoolean(false) Boolean showMemberPrice,
                         @Key("IntentRunnable") IntentRunnable doAfterLogin);
    }

    /***
     *  跳转到 CommonNebulaActivity离线包页面
     */
    @ClassName(AppUtilsConfig.ACTIVITY_COMMONNEBULA_PATH)
    public interface ICommonNebulaActivity {
        IntentWrapper to(@Key("urlPath") String urlPatch);
    }



    @ClassName(AppUtilsConfig.ACTIVITY_HYBRID_PATH)
    public interface ICommonHybridActivity {
        /**
         * @param url   H5 URL
         * @param title 标题
         * @return
         */
        IntentWrapper to(
                @Key("url") String url,
                @Key("title") String title
        );
    }

}
